Skip to main content

Full text of "Arduino"

See other formats

Tacit: A Haptic Wrist Rangefinder 


Make Projects 

build, hack, tweak, share, discover,^ 

Tacit: A Haptic Wrist 

Written By: Steve Hoefer 


Computer (1) 

Container (1) 

Converter cable (1) 

or a USB cable with an Adafruit FTP! 

Friend. Maker Shed #MKAD22 

Drill and drill bit (1) 

Scissors (1) 

Sewing machine (1) 

or thick needle, strong thread, and 


Software: Tacit project code (1) 
available on Github, 
http://gist. aithub. com/1 1 75994 

Soldering iron and solder (1) 

Template for cutting neoprene (1) 
download at 
http://makeprojects. com/v/29 


Ultrasonic distance sensors (2) 
Maker Shed #MKPX5. 
http://makershed. com 

Microcontroller (1) 

Any 5V Arduino or compatible will work, 
such as Arduino Nano (Maker Shed 
#MKGR1) or Ardweeny (Maker Shed 
#MKSB012) — but not the 3V Arduinos. 

Servomotors (2) 

such as Turnigy #TG9 or Hextronix 


Perf board (1) 

Pin header rows (1) 


Battery (1) 

20-22 gauge, insulated, stranded, 
various colors (1) 

© Make Projects 

Page 1 of 6 

Tacit: A Haptic Wrist Rangefinder 

. • 

Switch (1) 

Machine screws (6) 

ShapeLock (1) 

or other low-melting-point 

polycaprolactone plastic for modeling 

PET plastic sheet (1) 
or other hard flat plastic you can heat 
and bend. I used PETG from part #85815K1 1. 

Rubber or vinyl strip (1) 
/ used a squeegee blade. 

Neoprene (1) 

or 2mm thick, which is cooler to wear 

Hook and loop tape (1) 
aka vecro 

Bias tape (1) 
from a fabric store 

Zip ties (1) 

Epoxy (1) 


Tacit is a wearable system that translates the distance to anything you aim your hand 
toward into pressure on your wrist. The closer the object, the greater the pressure. Sweep 
your hand around, and the device conveys to you a tactile image of your surroundings. I 
designed Tacit to help vision-impaired people navigate their environments, but it's also a fun 
and effective sensory enhancement for fully sighted people — especially in the dark. 

My first version of Tacit was a headband with vibration motors that ran faster when objects 
came closer. But this design had a distracting "mad science" look, and most obstacles, like 
furniture, are below head level. I also found that motors vibrating against your skull will 
quickly drive you insane. 

I realized that it was my own sighted prejudice to want to attach vision-simulating sensors to 

© Make Projects 

Page 2 of 6 

Tacit: A Haptic Wrist Rangefinder 

the head. The hand is more directable and useful, and putting a device on the back of the 
wrist leaves the fingers free. 

For rangefinders, I used two $30 ultrasonic sensors that detect objects up to 10' away, 
angled apart to take in a broader swath. I looked at smaller infrared sensors, but they were 
confused by sunlight, remote controls, security cameras, and absorbent surfaces. Laser 
rangers would be the most accurate, but they're far more expensive. 

The rangefinders input to an Arduino Pro Mini, which controls 2 small servomotors to rotate 
flexible rubber extensions into the back of the user's hand (Figure A). The servos have a 
split-second response time, which gives the Tacit an intuitive feel. Everyone who has worn 
the device figures it out immediately. 

Step 1 — Assemble the electronics. 

U» ulf *tMi< :•'••['; finAra 
to Kfue the d-ibrc-r 

tocb.*c;i ■"■■" 

ftwds (he d*H*me 

mi: iirni: i.-H^.n-i- 

Layout, and Assembly 

CcrinwlUmtoPwalaKp-Hi ult;jsDriti*nKFr 


ELubGiHiltdMi rdlsi-ftrUHidsonkirnsw vkjiwl 

While: *4v imi regulated Gianqtt-. Lwvn- wqrul 
R«l!+5iinri>giiL3t«l Gfo£ BthJtfftiX&i'iiKClrin 

• To carry all the wiring, I made a shield for the Pro Mini using perf board and headers. Start 
by soldering 12x1 male pin header rows along the sides of the Mini. Cut a piece of board to 
9x12 holes and solder two 12x1 female headers so that it will plug on top of the Pro Mini 
with 2 extra rows along one side for the power switch. 

• Solder a 6x1 right-angle header to the top of the Pro Mini, for programming, and two 3x1 
right-angle headers to the shield for plugging in the 2 servo cables. 

• Follow the diagram and schematic (images 2 and 3) to wire up the shield. Connect the 9V 
battery (+) to RAW power on the Arduino and the middle (+) servo header pins. Connect 
battery (-) to Arduino GND through the switch, and directly to sensor and servo grounds. 
Connect Arduino VCC to sensor power. Finally, connect Arduino digital I/O pins D7 and D8 
to the sensor signal (SIG) contacts, and pins D2 and D3 to the servo signal pins. 

© Make Projects 

Page 3 of 6 

Tacit: A Haptic Wrist Rangefinder 

Step 2 — Mount the sensors and effectors. 

• Melt the ShapeLock in hot water and mold it into a bracket that joins the 2 sensors onto the 
top end of the shield and angles them apart at about 120°. Make sure not to block the 
programming header. For extra hold, run small screws through the sensor board mounting 
holes and into the ShapeLock while it's still soft. 

• Join the servomotors back-to-back with more ShapeLock. Cut 2 tabs out of the PET 
plastic, about 2"x1 1 /4 M each. Heat them crossways over the soldering iron without touching 
it, and bend each into a symmetrical right-angle S-bracket. Drill and mount each bracket to 
a loop of cut rubber and epoxy the other end to a servo horn. Lay out the 2 assemblies 
with the battery in between. The mechanism is done. 

Step 3 — Program the Arduino. 

• Download and install the Arduino IDE . Then download the Tacit project code . 

• Open the project code in the Arduino IDE. In the Tools -» Board menu, choose your 
model of Arduino, and under Tools -» Serial Port select the COM port, the highest 
number if you see more than one. 

• Plug the USB-TTL cable (or USB cable and FTDI Friend) between your computer and the 
Pro Mini. Click Verify and Upload to compile the code and burn it to the controller chip. 

© Make Projects 

Page 4 of 6 

Tacit: A Haptic Wrist Rangefinder 

Step 4 — Make the gauntlet. 


Haptic Sonar Glove 

Gauntlet Outline: inside/top 

(Theside thatthe hardware goes m.) 

fc^V* =<■•*[-* ft"*»e'jS*jrf.$*m»j, 

• Download the template for the 
gauntlet and use scissors to cut 
the shape out of neoprene. 

• Cut and sew velcro strips onto the 
neoprene where indicated, and sew 
on a loop of bias tape to fit the 
middle finger in front of where the 
Arduino sits. 

• Use super glue to attach the 
corresponding velcro pieces to the 
electronics and the plastic 
brackets. The velcro lets you 
remove the electronics and launder 
the neoprene. Stuff that's near the 
hand can get dirty surprisingly fast. 

• Electronics sewn into wearable 
material will inevitably flex, but 
solder joints can't take much 
bending before they break. So 
wherever possible, you should loop 
the wire through holes and use zip 
ties to give each connection plenty 
of play. I learned this lesson the 
hard way when I made my Rock 
Paper Scissors Playing Glove 
( that's another story ). 


Now I'm working on Tacit 2.0, refining the software, shrinking the hardware, and using a 
rechargeable battery with some kind of blind-friendly charging method, either wireless or a 
magnetically-aligning power plug. 

© Make Projects 

Page 5 of 6 

Tacit: A Haptic Wrist Rangefinder 

Many thanks to the designers at Device Design Day, who gave me tons of positive feedback on 
earlier versions of Tacit. 

The circuit and software are released under a Creative Commons BY-NCSA license. 

This document was last generated on 2012-11-02 11 :53:12 PM. 

© Make Projects Page 6 of 6